﻿using System;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using PortalCurriculo.Util.CustomControls;
using PortalCurriculo.WebUI.Helpers;


namespace PortalCurriculo.WebUI.UserControls.Curriculo
{
    public class Curriculo : UserControlHelper
    {
        public int IdCurriculo { get; set; }
        public int IdUsuario { get; set; }
        public int IdProfissional { get; set; }
        public object Entidade { get; set; }
        private static int ChaveEntidade { get; set; }

        public int IdEntidade
        {
            get { return ChaveEntidade; }
            set { ChaveEntidade = value; }
        }

        public bool IsNew
        {
            get { return IdEntidade == 0; }
        }

        public const string InvisibleScript = "this.style.border='0px solid white'; javascript:setCssClass('{0}','{1}'); ";
        public const string VisibleScript = "this.style.border='1px solid rgba(0, 0, 0, .1)';  javascript:setCssClass('{0}','{1}');";

        public void ConfigurarBotoes(ListViewDataItem item, string id, bool editar = true, bool excluir = true)
        {
            if (IdUsuario != UsuarioLogado.Id) return;

            var divBotoes = (HtmlGenericControl)item.FindControl("divBotoes");
            var divRepeticao = (HtmlGenericControl)item.FindControl("divRepeticao");
            ConfigurarDivRepeticao(divRepeticao, divBotoes);

            var imbEditar = ((ImageButton)item.FindControl("imbEditar"));
            var imbExcluir = ((ImageButton)item.FindControl("imbExcluir"));
            ConfigurarBotoes(divBotoes, imbEditar, id, imbExcluir, editar, excluir);
        }

        public void ConfigurarBotoes(HtmlGenericControl divBotoes, ImageButton imbEditar, string id, ImageButton imbExcluir, bool editar, bool excluir)
        {
            divBotoes.Visible = IdUsuario == UsuarioLogado.Id;

            if (editar)
                imbEditar.CommandArgument = id;//.Attributes.Add("entidade", id);
            else
                imbEditar.Visible = false;

            if (excluir)
                imbExcluir.CommandArgument = id;//.Attributes.Add("entidade", id);
            else
                imbExcluir.Visible = false;
        }

        public void ConfigurarDivRepeticao(HtmlGenericControl divRepeticao, HtmlGenericControl divBotoes)
        {
            divRepeticao.Attributes.Add("onmouseover", String.Format(VisibleScript, divBotoes.ClientID, "normalImage floatRight"));
            divRepeticao.Attributes.Add("onmouseout", String.Format(InvisibleScript, divBotoes.ClientID, "transparentImage floatRight"));
        }

        public EventHandler OnChangeControl
        {
            get { return ((Popup)Parent.FindControl("Popup")).OnChangeControl; }
        }

        public object ObterObjetoVariavel
        {
            get { return ((Basico.Tela)Parent).ObjetoVariavel; }
        }
    }
}